iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
AI/ ML & Data

Let's Go To The AI Party!系列 第 17

Day16-強化機器學習

  • 分享至 

  • xImage
  •  

強化機器學習(Reinforcement Learning, RL)

是一種機器學習方法,強調 智能體(Agent) 如何基於環境而行動,取得最大化的預期利益。簡單來說,讓一個AI在不斷嘗試錯誤的過程中,學習到什麼樣的行為能帶來最好的結果

強化學習核心概念

  • 智能體(Agent): 進行決策的主體,例如:下棋程式、機器人
  • 環境(Environment): 智能體所處的環境,會根據智能體的行動給予回饋
  • 狀態(State): 環境在某個時間點的狀態
  • 行動(Action): 智能體可以採取的動作
  • 獎勵(Reward): 環境給予智能體的回饋,正向獎勵表示行動是好的,負向獎勵表示行動是壞的
  • 策略(Policy): 智能體根據狀態選擇行動的規則
    https://ithelp.ithome.com.tw/upload/images/20240816/20163257EmNO6kMiJX.png
    圖片來源:(https://www.scribbr.com/ai-tools/reinforcement-learning/)

強化學習學習過程

  • 初始化:設定初始狀態、行動空間、獎勵函數
  • 探索與利用:智能體在環境中探索,嘗試不同的行動,並根據得到的獎勵更新策略
  • 學習:智能體不斷重複探索與利用的過程,逐漸學習到最佳的策略

強化學習應用

  • 遊戲:AlphaGo、Atari遊戲
  • 機器人控制:自主駕駛、機器人行走
  • 金融:股票交易、風險管理
  • 推薦系統:商品推薦、內容推薦

強化學習公式

G_t = ∑_{k=0}^{∞} γ^k * r_{t+k}

G_t 從時間步t開始的累積折扣獎勵
γ 折扣因子,平衡當前獎勵和未來獎勵重要性
r_{t+k} 時間步t+k得到的獎勵

強化學習演算法

  • Q-learning: 值函數演算法,學習狀態-行動對的價值
  • Policy Gradient: 策略演算法,直接學習策略
  • Deep Q-Network (DQN): 將深度學習與Q-learning結合,處理高維度狀態空間

強化學習程式碼 (Python,OpenAI Gym)

import gym
import numpy as np

env = gym.make('CartPole-v1')
observation = env.reset()

for _ in range(1000):
    env.render()
    action = env.action_space.sample() #隨機選擇動作
    observation, reward, done, info = env.step(action)

    if done:
        observation = env.reset()
env.close()

上一篇
Day15-非監督式學習
下一篇
Day17-集成學習
系列文
Let's Go To The AI Party!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言